草庐IT

c++ - 池化线程的 SetThreadAffinityMask

全部标签

c - 我的程序阻止 Windows 关闭!

我的wxwidgets程序不允许在用户单击关机时关闭计算机。我在正常退出程序时遇到问题,所以我一直在直接调用exit()而不是像wxwidgets所说的那样删除顶部窗口。退出解决方法一直有效,但似乎wxwidgets在收到关闭窗口信号(?)时无法退出。我能否以某种方式捕获它并仅调用exit以便程序不会阻止窗口关闭? 最佳答案 Windows向所有应用程序发送WM_SHUTDOWN消息。此事件映射到您的wxWidgets应用程序中的EVT_END_SESSION。确保正确处理此事件。参见wxCloseEventClassReferen

php - PHP 中的多线程

我在Windows上工作。我已经使用twitterAPI构建了一个twitter应用程序,它会定期检查新推文并允许用户更新他们的状态。我编写了单独的PHP文件用于阅读(reader.php)和编写推文(writer.php)。唯一的问题是我如何定期阅读推文。我能想到的有几种方法-1)使用基于时间的作业调度程序(如Cron)定期运行reader.php。我该怎么做?2)使用多线程同时运行reader和writer.php并在reader.php中使用定时器函数建议? 最佳答案 由于您在Windows中工作,您可能无法非常轻松地使用cr

c++ - 在 c++ 的 Windows 线程编程中,pthread_setcanceltype 的替代方案是什么?

在c++的windows线程编程中,pthread_setcanceltype的替代方案是什么? 最佳答案 Windows线程没有取消点,因此无需考虑系统取消类型。因此,在Windows上“取消”一个线程意味着您,开发人员,需要想出一个策略来告诉线程退出。如果它是GUI线程,您可以向其发送WM_QUIT消息。如果它是一个非GUI线程,那么它真的取决于线程在做什么。您需要分析线程并查看是否存在代码可以明确检查线程是否需要继续运行或退出的点。有一个pthreads-win32如果您宁愿避免该问题并在Win32上获得pthreads投诉行

c++ - 是否有适用于 Visual Studio C++ 6.0 的线程安全队列类?

我想在VS6.0中实现线程安全队列是否有一个好的类(class)可以用于此?这是一个使用CWinApp的MFC应用程序。我的former帖子带我到here但我没有在VS2010中编写代码的奢侈,因为我停留在6.0版。好吧……谢谢。 最佳答案 显然您接受了该问题的错误答案!:-)code我在我的答案中链接将适用于VC++6。 关于c++-是否有适用于VisualStudioC++6.0的线程安全队列类?,我们在StackOverflow上找到一个类似的问题: h

c - 创建/删除一系列相同大小的文件后 NTFS 磁盘空间不足

我在处理一个大型项目时遇到了一个非常奇怪的问题。我在一个分区上写了一堆相同大小的文件(尝试了RAM磁盘和通过diskmgmt.msc创建的虚拟磁盘)。当没有足够的可用空间来容纳另一个文件时(如GetDiskFreeSpaceExW所报告),我删除了一个(只有一个)以前创建的文件并写入新文件。然后,我删除另一个旧文件并写入一个新文件,无限循环(因此,您可以将分区视为大小相同的文件的环形缓冲区)。在一系列的写入-删除(从几百到几千)之后,我在写入新文件时遇到了nofreespace错误(在此之前,GetDiskFreeSpaceExW报告足够的空间)。我请我的几位同事尝试在他们的硬件上重现

c# - 创建线程就像在 C# 中创建一个单独的应用程序一样

我在尝试使用WebBrowser时遇到了很多异常在多线程应用程序上。COM组件、protected内存和其他异常情况随处可见,我使用WebBrowser进行处理。我只是放弃并回到我的单线程版本,效果很好。我会发布代码,但是当我在这么多地方遇到异常时,很难定位问题的原因。因此,如果作为单线程应用程序它运行良好,并且如果当我运行同一应用程序的多个实例时它也可以正常工作,那么应该有一种方法可以模拟从单个应用程序运行的多个应用程序,而不必实际制作一个单独的应用程序我将从主应用程序运行。那么,我的问题是如何让Windows将我的线程视为不同的实例?这应该可以消除问题,因为正如我所说,当它们是不同

c++ - 如何访问远程系统的COM口?

我想从系统访问远程系统中存在的COM端口。任何帮助将不胜感激。我在远程和本地系统中都使用WindowsXP。 最佳答案 com0com项目,尤其是com2tcp应用程序应该可以帮助您。InconjunctionwiththeNull-modememulator(com0com)thecom2tcpenablestouseaCOMportbasedapplicationstocommunicatewiththeTCP/IPbasedapplications.Italsoallowscommunicationwitharemoteser

c - 有没有办法读取超过 EOF 的高清数据?

有没有办法读取一个文件的数据,但在文件结束后继续读取硬盘上的数据?对于普通文件I/O,我可以只使用fread(),但很明显,它只会读到文件末尾。如果我补充说我需要在Windows计算机上使用它,这可能会有所帮助。我在谷歌上搜索的所有方法都是关于EOF的不相关主题的结果,例如人们在正常I/O方面遇到问题。我的理由是我不小心删除了我正在处理的文本文件中的部分文本,这是一整天的工作。我用谷歌搜索了一堆文件恢复的东西,但这似乎都是关于恢复已删除文件的,我的问题是文件仍然存在但没有它的一些信息,我希望其中一些数据仍然直接存在在当前标记的文件末尾之后,既没有在其他地方碎片化,也没有被声明或以其他方

c - 作为系统运行的直接、简单的 api?

假设一个程序已经以提升的权限运行,它需要查看SystemVolumeInformation文件夹的内容,默认情况下,只有NTAuthority\System可以执行此操作。一种解决方法是更改​​文件夹上的ACL,但我不想弄乱它。我已经找到了两种方法:任务调度程序和psexec。它们太间接了,我什至不需要描述第一个,第二个的工作原理是安装一个Windows服务,运行它,告诉它运行我想运行的任何东西,然后卸载该服务。现在的问题是:是否有一个直接、简单的WinAPI函数可以将某些东西作为系统运行?我不认为这样的API会规避安全限制,作为管理员我有权安排任务或安装服务,因此必须有捷径。更新:如

c++ - 启用 dll 的 gflags 完整堆不起作用

我正在尝试使用调试gflags工具通过dlls选项启用整页堆。这可以使用应用程序启用整页堆,但仅使用指定的dll。当我不使用dlls选项时它工作正常。我能够在任何试图覆盖已分配内存块的尝试中获得异常。但是,当我尝试使用dlls选项启用相同的功能时,根据文档,当它应该在dll代码上时,我不会在主应用程序代码或dll代码分配的内存块上出现异常。我在WindowsXP和Windows7上都试过,得到了相同的行为。我检查了很多次,以防我输入错误的dll名称而无法在dll上启用整页堆。两个命令都试过了:gflags-p/enabletest_dll1_app.exe/dllstest_dll1.